package cn.yuanqiao.activiti.service;

import cn.yuanqiao.activiti.domain.ActActivitiDTO;
import cn.yuanqiao.activiti.domain.ActHistoryTaskDTO;
import cn.yuanqiao.activiti.domain.ActTaskDTO;
import cn.yuanqiao.activiti.domain.dto.ActWorkflowFormDataDTO;
import cn.yuanqiao.common.core.page.PageDomain;
import com.github.pagehelper.Page;

import java.util.List;
import java.util.Map;

public interface IActTaskService {
    public Page<ActTaskDTO> selectProcessDefinitionList(PageDomain pageDomain, Map<String,Object> selectVariables);

    public List<Map<String, Object>> selectProcessDefinitionListNoPage();

    public Page<ActTaskDTO> selectProcessDefinitionListByCode(PageDomain pageDomain,String processDefinitionKey,String instanceName);


    public List<String>formDataShow(String taskID);

    int formDataSave(String taskID, List<ActWorkflowFormDataDTO> formData);

    Page<ActHistoryTaskDTO> selectProcessDefinitionListHistoyByCode(PageDomain pageDomain, String processDefinitionKey,String instanceName);

    Map<String, Object> getArchiveTotal(String isType,String instanceId);

    Page<ActActivitiDTO> selectProcessDefinitionListHistoyByCodeAndStartUser(PageDomain pageDomain, String processDefinitionKey, String instanceName);

    ActTaskDTO getTaskById(String taskId);

    ActHistoryTaskDTO getHisTaskById(String taskId);

    Boolean getNextTaskOption(String taskId);
}
